/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  							 script_player_action.h

	$Header: /heroes4/script_player_action.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( SCRIPT_PLAYER_ACTION_H_INCLUDED )
#define SCRIPT_PLAYER_ACTION_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "script_target_type.h"
#include "script_targeted_action.h"

// --------------------------------------------------------------------------
// t_script_player_action class
// --------------------------------------------------------------------------

class t_script_player_action
	:	public t_script_targeted_action< t_script_player_target >
{
public:
	virtual void		execute(t_script_context_hero const& context) const;
	virtual void		execute(t_script_context_town const& context) const;
	virtual void		execute(t_script_context_object const& context) const;
	virtual void		execute(t_script_context_army const& context) const;
	virtual void		execute(t_script_context_global const& context) const;

protected:
	virtual void		do_action( t_adventure_map* map, t_player* player ) const;
};

SPECIALIZE_SCRIPT_ACTION( k_script_action_clear_loss_condition_text, t_script_player_action );
SPECIALIZE_SCRIPT_ACTION( k_script_action_clear_loss_message, t_script_player_action );
SPECIALIZE_SCRIPT_ACTION( k_script_action_clear_victory_condition_text, t_script_player_action );
SPECIALIZE_SCRIPT_ACTION( k_script_action_clear_victory_message, t_script_player_action );

#endif // !defined( SCRIPT_PLAYER_ACTION_H_INCLUDED )
